package com.gdkj.entity.stardig;

import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

@Data
@Table(name="cmf_digging_user")
public class CmfDiggingUser implements Serializable {

    private static final long serialVersionUID = -886886886L;

    @Id
    private Integer uid;

    /**
     * 用户余额
     */
    private BigDecimal balance;

    /**
     * 用户钻石值
     */
    private Integer energy;

    /**
     * 累计使用钻石
     */
    private Long totalEnergy;

    /**
     * 用户挖掘米数
     */
    private Long diggingDepth;

    /**
     * 挖宝总次数
     */
    private Integer diggingTimes;

    /**
     * 单位使用钻石数
     */
    private Integer unitUseEnergy;

    /**
     * 单位挖宝次数
     */
    @Column(name = "unit_digging_times")
    private Integer unitDiggingTimes;

    /**
     * 单位米数
     */
    @Column(name = "unit_digging_depth")
    private Integer unitDiggingDepth;

    /**
     * 当前关卡id
     */
    private Integer levelId;

    /**
     * 社交道具总个数
     */
    private Integer socialTimes;

    /**
     * im群主id
     */
    private Integer groupId;

    /**
     * 0 不在线 1 在线 2 异常
     */
    private Integer state;

    /**
     * 被关小黑屋到期时间
     */
    private Date smallHourseTime;

    /**
     * 钻石恢复时间
     */
    @Column(name = "next_energe_recovery_time")
    private LocalDateTime nextEnergeRecoveryTime;

    /**
     * 是否领取初次钻石奖励，1 未领取 ，2 已领取
     */
    private Integer firstReceive;

    /**
     * 是否开启签到（1：未开启，2：开启）
     */
    @Column(name = "is_sign")
    private Integer isSign;

    /**
     * im网络断开时间
     */
    private Date netDisconnectTime;

    /**
     * x天累计挖掘米数
     */
    private Integer xDayMeters;

    /**
     * 当前选择倍数id
     */
    private Integer nowChooseTimesId;

    /**
     * 当前选择道具id
     */
    private Integer nowChoosePropId;

    /**
     * 红包券
     */
    private Integer redPacketNum;

    /**
     * 话费券
     */
    private Integer callVoucherNum;

    /**
     * 用户余额
     */
    private BigDecimal amount;

    /**
     * 用户openid
     */
    private String openId;

    /**
     * 是否是通过后第一局 1是 0否
     */
    private Integer passLevelFirst;

    /**
     * 创建时间，首次登录时间
     */
    private Date createTime;

    /**
     * 最后登录时间
     */
    private Date updateTime;

    /**
    * 玉石数量
    */
    private Integer jadeNum;

    /**
    * 玉石累计钻石使用值
    */
    private Integer jadeTotalEnergy;

    /**
    * 级别是否有变化
    */
    @Transient
    private Boolean changeLevel;

    /**
    * 是否开启签到
    */
    @Transient
    private Boolean openSign;

    /**
     * 今日是否领取过免费钻石 1 未领取 2 已领取
     */
    private Integer todayReceiveFreeEnergy;

    /**
    * 最大到达关卡
    */
    private Integer maxLevel;

    /**
     * 微信用户昵称
     */
    private String wechatNickname;

    /**
     * 当前使用配置单位钻石值
     */
    private Integer configUnitEnergy;

    /**
     * 当前使用单位关卡配置
     */
    private Integer configUnitLevel;

    /**
     * 最新挖掘时间
     */
    private Date newDiggingTime;

    /**
     * 是否解锁自动挖掘 1 解锁 2 未解锁
     */
    private Integer unlockAutoDig;

    /**
     * 观看引导状态 1 已观看 2 未观看
     */
    private Integer watchGuidState;

    /**
     * 用户血池数值
     */
    private BigDecimal bloodPool;
}
